#ifndef DBOPERATION_H
#define DBOPERATION_H

#include <QSqlDatabase>
#include <QMessageBox>
#include <QDebug>
#include <QSqlError>
#include <QSqlQuery>
#include <QMainWindow>
#include <QDateTime>

/**
 * @brief The DBOperation class
 * 所有需要用到 MySQL 的窗口的头文件中必须加一句 #include <dboperation.h>
 * 并且在窗口的 .cpp 文件中的构造函数中调用 DBO.open(); 后才可以调用 MySQL有关的操作函数
 */
class DBOperation
{
public:
    static DBOperation* getInstance() {
        return instance;
    }

    bool open();

    void close();

    bool operate(QString);

    bool getNext();

    QVariant getValue(QString column) {
        return query.value(column);
    }

    static QSqlDatabase getDatabase()
    {
        return instance->db;
    }

private:
    DBOperation();
    static DBOperation* instance;
    QSqlDatabase db;
    QSqlQuery query;
};

#endif // DBOPERATION_H
